package alp.starcode.sanping.framework.database.mariadb.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author Clxini
 * @since 2024-01-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("notice")
public class Notice implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 通知流水号
     */
    @TableId(value = "notice_id", type = IdType.INPUT)
    private String noticeId;

    /**
     * 课程流水号
     */
    private String courseId;

    /**
     * 班次流水号
     */
    private String classId;

    /**
     * 是否弹窗
     */
    private Boolean isPopUp;

    /**
     * 标题
     */
    private String title;

    /**
     * 类型（0 公共通知 1班次通知）
     */
    private Integer type;

    /**
     * 状态(0 待发布 1 已发布)
     */
    private String status;

    /**
     * 内容
     */
    private String content;

    /**
     * 内容摘要
     */
    private String contentAbstract;

    /**
     * 发布时间
     */
    private Long publishTime;

    /**
     * 是否删除:0未删除、1已删除
     */
    private Boolean isDeleted;

    /**
     * 创建用户Id
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserId;

    /**
     * 创建用户名称
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    /**
     * 修改用户Id
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserId;

    /**
     * 修改用户名称
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserName;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;

    /**
     * 通知次数 1首次 2再次
     */
    private Boolean noticeNum;


}
